草庐IT

c++ - future 与 promise

全部标签

javascript - Async/Await 无法按预期使用 Promise.all 和 .map 函数

我有很多正在使用的async函数,但我遇到了一个奇怪的问题。我的代码,工作,看起来像:asyncmainAsyncFunc(metadata){letfiles=metadata.map(data=>this.anotherAsyncFunc(data.url));returnPromise.all(files);}anotherAsyncFunc函数如下所示:asyncanotherAsyncFunc(url){returnawaitaxios({url,}).then(res=>res.data).catch(err=>{throwerr;});}当我尝试将更多数据附加到第一个函数

javascript - 如何在不使用 then 方法的情况下定义 promise 链

我已经寻找过类似的问题,但它们与JQuery或任何其他库有关。首先,我写了这个:constprintIn1Sec=(value)=>{returnnewPromise(resolve=>{setTimeout(()=>{console.log(value);resolve();},1000)});};并以这种方式使用它:printIn1Sec(1).then(()=>printIn1Sec(2)).then(()=>printIn1Sec(3));我认为then非常重要,因为它允许我们在promise被解决后立即执行一些事情。但我一直在寻找这样的东西:printIn1Sec(1).pr

有 promise 的 Javascript (Angularjs) websocket?

我在项目中使用Angularjs。我将$q.all与来自$http的多个请求一起使用,它的工作。在新的案例中,我使用了websocket,但我不知道如何将promises与websocket一起使用。$http返回promise,但websocket不是。Websocket示例:(这不是真正的代码)我发送的packid是1000,我revice的packid是2000。websocket.send(1000);websocket.onMessage(data){if(data.id==2000){//dosomething}}我去用websocket使用Promises,这可能吗?

javascript - 为什么 JavaScript 的 `Promise.all` 没有在失败条件下运行所有​​ promise ?

根据MDN:Ifanyofthepassedinpromisesrejects,theallPromiseimmediatelyrejectswiththevalueofthepromisethatrejected,discardingalltheotherpromiseswhetherornottheyhaveresolved.ES6spec似乎证实了这一点。我的问题是:为什么Promise.all会在其中任何一个拒绝时丢弃promises,因为我希望它等待“所有”promises结算,并且“丢弃”到底是什么意思?(很难说出“丢弃”对于进行中的promises和可能尚未运行的prom

javascript - 对象作为 React 子对象无效(找到 : [object Promise])

我正在尝试通过数组映射来呈现帖子列表。我以前做过很多次,但出于某种原因renderPosts=async()=>{try{letres=awaitaxios.get('/posts');letposts=res.data;returnposts.map((post,i)=>{return({post.text});});}catch(err){console.log(err);}}render(){return({this.renderPosts()});}我得到的是:UncaughtError:ObjectsarenotvalidasaReactchild(found:[object

javascript - Angularjs,等待嵌套的 promise

我有3个服务返回3个promise,但第三个需要第二个的数据,所以我在第二个中调用它。我想等待所有三个promise都被解决,这是我实现的方式,但不起作用(只等待第一个和第二个)。varpromise1,promise2,promise3;promise1=service1();promise2=service2();promise2.then(function(data){promise3=service3(data);});$q.all([promise1,promise2,promise3]).then(functionsuccess(){//somehing});

javascript - 我可以用 bluebird Promises 提前打破链条吗?

我不一定想出错,但我有:getFromDb().then(tradeData)->ifnottradeData#DONOTCONTINUETHECHAINelsegetLatestPricetradeData.then(latestPrice)->....then->....then->....catch(err)->nexterr如果没有tradeData,我有什么方法可以中止链条? 最佳答案 虽然是一个公认的答案,但我想告诉所有的谷歌人,“break()”函数已更改为“cancel()”像这样使用:p=getFromDb().t

javascript - 循环遍历任务 waterfall - promises bluebird

我希望使用bluebird循环执行一些任务,只是将超时用作实验机制。[不打算使用异步或任何其他库]varPromise=require('bluebird');varfileA={1:'one',2:'two',3:'three',4:'four',5:'five'};functioncalculate(key){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve(fileA[key]);},500);});}Promise.map(Object.keys(fileA),function(key

javascript - AngularJS 在 app.run() 中的 promise

这个问题在这里已经有了答案:AngularJS:Initializeservicewithasynchronousdata(10个答案)关闭5年前。我正在研究angularJs和typescript项目。在启动客户端应用程序和加载UI之前,我必须进行同步http调用并从服务器获取一些数据。我在互联网上搜索,看到每个人都在谈论promise,嗯,好吧,为什么不呢。所以我在我的app.run()中使用了promise(进行$http调用并使用$q返回promise)。也许我什么也没遗漏,因为这根本不起作用。Angular启动app.config(),然后app.run(),...但是Ang

JavaScript - 返回 promise 和/或调用回调?

我经常在其他人的文档中看到类似这样的内容:Callbackisoptional,ifomittedreturnsapromise.这是我的:exportfunctiondoSomeAsync(options,callback){constuseCallback=(callback&&typeofcallback=='function');constpromise=newPromise((resolve,reject)=>{//---doasyncstuffhere---constcheck=(options.num===1)?true:false;setTimeout(()=>{if(